package cn.lg.soar.system.biz.config;

/**
 * 缓存key管理
 * @author luguoxiang
 * @date 2022/3/31
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface SystemCacheKey {

    /**
     * 获取用户职位部门id
     * 分配用户职位时清理
     */
    String USERID_TO_POSTS = "PU";

    /**
     * 获取用户角色id
     * 分配用户角色时清理
     */
    String USERID_TO_ROLEIDS = "UR";

    /**
     * 获取职位角色id
     * 分配职位角色时清理
     */
    String POSTID_TO_ROLEIDS = "PR";

    /**
     * 获取用户所有角色
     * 删除权限触发点：
     * 1.用户分配职位
     * 2.用户分配角色
     * 3.职位分配角色
     */
    String USERID_TO_ALL_ROLEIDS = "URA";

    /**
     * 获取角色菜单id
     * 分配角色菜单时清理
     */
    String ROLEID_TO_MENUIDS = "RM";

    /**
     * 获取菜单权限
     * 菜单分配权限时
     */
    String MENUID_TO_PERMITS = "MP";

    /**
     * 获取角色所有权限
     * 删除权限触发点：
     * 1.角色分配菜单时
     * 2.菜单分配权限时
     */
    String ROLEID_TO_PERMITS = "RP";


    /**
     * 获取用户所有组织机构id
     * 删除权限触发点：
     * 1.用户分配职位
     * 2.用户分配组织
     * 3.职位更新
     * 4.组织机构更新
     */
    String USERID_TO_ALL_ORGIDS = "UOA";

    /**
     * 获取用户租户
     */
    String USERID_TO_TENANTS = "UT";


    /**
     * 根据userId 获取用户
     */
    String USERID_TO_USER = "UI";

    /**
     * 根据id获取职位
     */
    String POSTID_TO_POST = "PI";

    /**
     * 根据id获取组织机构
     */
    String ORGID_TO_ORG = "OI";

    /**
     * 根据id获取角色
     */
    String ROLEID_TO_ROLE = "RI";

    /**
     * 树形数据
     */
    String TREE = "tree";

    /**
     * 资源规则缓存
     * 删除触发点：
     * 1.DataScope新增、更新、删除
     * 2.DataRule新增、更新、删除
     * 3.DataRuleItem新增、更新、删除
     */
    String RESOURCE_TO_RULEMAP = "GZ";

    /**
     * 根据字典code获取数据字典项
     */
    String DICT_BY_CODE = "DC";

    /**
     * 字典code缓存
     */
    String DICT_TYPE = "DT";

    /**
     * 日志配置
     */
    String LOG_CONFIG = "LC";

    /**
     * 文件上传信息
     */
    String UPLOAD_INFO = "FUI";

    /**
     * 单点登录客户端缓存key
     */
    String OSS_CLIENT_BY_ID = "ossClient";

    /**
     * 业务附件类型
     */
    String BIZ_FILE_TYPE = "bizFileType";

    /**
     * 文件仓库
     */
    String FILE_STORAGE = "fileStorage";

    /**
     * 根据id获取模板
     */
    String TEMPLATE_BY_ID = "template:i";

    /**
     * 根据code获取模板
     */
    String TEMPLATE_BY_CODE = "template:c";

    /**
     * 路径映射
     */
    String URL_MAPPING = "urlMapping";


}